package com.jic.order.service;

import com.jic.common.base.vo.PageResult;
import com.jic.common.base.vo.RestResult;
import com.jic.order.entity.OrderDeliverDetail;
import com.jic.order.request.CommonOrderNoRequest;
import com.jic.order.request.OrderDeliverDetailRequest;
import com.jic.order.request.OrderDeliverQueryPage;
import com.jic.order.request.UserPageQuery;
import com.jic.order.request.UserQuery;
import com.jic.order.response.FrontAllOrderInfo;
import com.jic.order.response.FrontOrderStatusCountInfo;
import com.jic.order.response.OrderDeliverInfo;
import com.jic.order.response.OrderDetailInfo;
import com.jic.order.rest.request.OrderSensitiveRequest;
import org.springframework.web.bind.annotation.RequestBody;

import java.util.List;

public interface OrderQueryService {

	RestResult<List<FrontAllOrderInfo>> queryAllList(UserPageQuery request);

	RestResult<FrontAllOrderInfo> queryDetail(CommonOrderNoRequest request);

	RestResult<FrontOrderStatusCountInfo> queryMyOrderStatusCount(Long buyerId);

	RestResult<FrontOrderStatusCountInfo> queryOrderStatusCount(UserQuery request);

	RestResult<PageResult<OrderDeliverInfo>> queryDeliverPage(OrderDeliverQueryPage orderDeliverQueryPage);

	RestResult<List<OrderDeliverDetail>> queryDeliverDetail(OrderDeliverDetailRequest request);

	List<FrontAllOrderInfo> getOrderSensitiveList(OrderSensitiveRequest orderSensitiveRequest);

	RestResult<OrderDetailInfo> getOrderInfoByOrderNo(String orderNo);

	//查询订单号
	RestResult queryOrderNoByDeliverNo(OrderDeliverDetailRequest request);

    RestResult<List<OrderDeliverInfo>> queryOrderByMergeRule(OrderDeliverQueryPage request);

	RestResult<List<FrontAllOrderInfo>> queryPickAllList(@RequestBody UserPageQuery request);
}
